\part{Graph Drawing}
\label{part-gd}

{\Large \emph{by Till Tantau et al.}}

\bigskip
\noindent
\emph{Graph drawing algorithms} do the tough work of computing a
layout of a graph for you. \tikzname\ comes with powerful
such algorithms, but you can also implement new algorithms in the
Lua programming language.
\vskip1cm

\ifluatex
\begin{codeexample}[graphic=white]
\tikz [nodes={text height=.7em, text depth=.2em,
              draw=black!20, thick, fill=white, font=\footnotesize},
       >=spaced stealth', rounded corners, semithick]
  \graph [layered layout, level distance=1cm, sibling sep=.5em, sibling distance=1cm] {
    "5th Edition" -> { "6th Edition", "PWB 1.0" };
    "6th Edition" -> { "LSX" [>child anchor=45],  "1 BSD", "Mini Unix", "Wollongong", "Interdata" };
    "Interdata" -> { "Unix/TS 3.0", "PWB 2.0", "7th Edition" };
    "7th Edition" -> { "8th Edition", "32V", "V7M", "Ultrix-11", "Xenix", "UniPlus+" };
    "V7M" -> "Ultrix-11";
    "8th Edition" -> "9th Edition";
    "1 BSD" -> "2 BSD" -> "2.8 BSD" -> { "Ultrix-11", "2.9 BSD" };
    "32V" -> "3 BSD" -> "4 BSD" -> "4.1 BSD" -> { "4.2 BSD", "2.8 BSD", "8th Edition" };
    "4.2 BSD" -> { "4.3 BSD", "Ultrix-32" };
    "PWB 1.0" -> { "PWB 1.2" -> "PWB 2.0", "USG 1.0" -> { "CB Unix 1", "USG 2.0" }};
    "CB Unix 1" -> "CB Unix 2" -> "CB Unix 3" -> { "Unix/TS++", "PDP-11 Sys V" };
    { "USG 2.0" -> "USG 3.0", "PWB 2.0", "Unix/TS 1.0" } -> "Unix/TS 3.0";
    { "Unix/TS++", "CB Unix 3", "Unix/TS 3.0" } -> "TS 4.0" -> "System V.0" -> "System V.2" -> "System V.3";
  };  
\end{codeexample}

\else
You need to use Lua\TeX\ to typeset this part of the manual (and,
also, to use algorithmic graph drawing). 
\fi

% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-overview}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-usage-tikz}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-usage-pgf}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-trees}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-layered}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-force}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-circular}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-phylogenetics}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-edge-routing}
% %
% % XXX : disabled because of 
% % 1. compile-time dependencies which are hard to resolve
% % 2. it is "hardly usable anyway" (TT)
% %\include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-ogdf}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-algorithm-layer}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-algorithms-in-c}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-display-layer}
% \include{./text-zh/pgfmanual-zh-gd/pgfmanual-zh-gd-binding-layer}
  